import request from '@/config/axios'

// 企业表（总部/区域合伙人/物业公司/小区物业） VO
export interface CompanyVO {
  id: number // 主键ID
  name: string // 企业全称
  shortName: string // 企业简称
  legalPersonName: string // 法人姓名
  legalPersonCard: string // 法人身份证号码
  parentId: number // 上级企业
  companyType: boolean // 企业类型
  logo: string // 企业LOGO
  contactPerson: string // 联系人姓名
  contactPhone: string // 联系电话
  contactPosition: string // 联系人职位
  regionCode: string // 行政区划
  address: string // 详细地址
  businessLicense: string // 营业执照
  businessLicenseImage: string // 营业执照
  status: number // 状态
  channelCode: string // 渠道编码
  effectDate: Date // 生效日期
  expireDate: Date // 失效时间
  remark: string // 备注
}

// 企业表（总部/区域合伙人/物业公司/小区物业） API
export const CompanyApi = {
  // 查询企业表（总部/区域合伙人/物业公司/小区物业）分页
  getCompanyPage: async (params: any) => {
    return await request.get({ url: `/member/company/page`, params })
  },

  // 查询企业表（总部/区域合伙人/物业公司/小区物业）详情
  getCompanyById: async (id: number) => {
    return await request.get({ url: `/member/company/getById?id=` + id })
  },

  // 新增企业表（总部/区域合伙人/物业公司/小区物业）
  createCompany: async (data: CompanyVO) => {
    return await request.post({ url: `/member/company/create`, data })
  },

  // 修改企业表（总部/区域合伙人/物业公司/小区物业）
  updateCompany: async (data: CompanyVO) => {
    return await request.post({ url: `/member/company/update`, data })
  },

  // 修改企业表（总部/区域合伙人/物业公司/小区物业）状态
  updateCompanyStatus: async (id: number, status: number) => {
    const data = {
      id,
      status
    }
    return await request.post({ url: `/member/company/updateStatus`, data: data })
  },

  // 删除企业表（总部/区域合伙人/物业公司/小区物业）
  deleteCompanyById: async (id: number) => {
    return await request.get({ url: `/member/company/delete?id=` + id })
  },

  // 导出企业表（总部/区域合伙人/物业公司/小区物业） Excel
  exportCompany: async (params) => {
    return await request.download({ url: `/member/company/export-excel`, params })
  },
}
